package com.example.demo.exception;

public enum ExceptionEnum implements CommonException {

    /**
     * 所有的代码内部错误都抛出该异常
     */
    INTERNAL_ERROR(500, "内部服务异常"),

    /**
     * 如参数校验未通过，参数为空等抛出该异常
     */
    PARAMS_ERROR(100, "参数异常"),

    /**
     * 对爬虫等恶意访问抛出该异常
     */
    REQUEST_RATE_LIMIT(300, "请求超过速率"),

    /**
     * token校验未通过抛出该异常
     */
    TOKEN_ERROR(101, "token异常"),

    /**
     * token过期抛出该异常
     */
    TOKEN_EXPIRED(102, "token过期");

    private int exCode;
    private String exMsg;

    ExceptionEnum(int exCode, String exMsg) {
        this.exCode = exCode;
        this.exMsg = exMsg;
    }

    @Override
    public int getExceptionCode() {
        return exCode;
    }

    @Override
    public String getExceptionMsg() {
        return exMsg;
    }

}
